package tec;
import poounit.Test;
import java.io.IOException;

class TestJournalBus {
    @Test
    void testInstanciation() throws TecInvalidException, java.io.IOException{
		ModeEcritureLog log= new SortieFichier(); 
		FauxJournal j = new FauxJournal(log);
		JournalBus b = new JournalBus(3,1,j);
		assert "fixerMaxPlace" == j.messages.get(1) : "fixerMaxPlace";
    }

    @Test
     void testChangerEnAssis() throws TecInvalidException, java.io.IOException{
	ModeEcritureLog log= new SortieFichier(); 
	FauxJournal j = new FauxJournal(log);
	JournalBus b = new JournalBus(1,1,j );
	FauxPassager passager = new FauxPassager();
	passager.etat = passager.DEBOUT;
	b.demanderChangerEnAssis(passager);
	assert "enleverUnDebout" == j.messages.get(2) : "enleverUnDebout";
    }
    
    @Test
     void testChangerEnDebout()  throws TecInvalidException, java.io.IOException{
	ModeEcritureLog e= new SortieFichier(); 
	FauxJournal j = new FauxJournal(e);
	JournalBus b = new JournalBus(1,1,j );
	FauxPassager passager = new FauxPassager();
	passager.etat = passager.ASSIS;
	b.demanderChangerEnDebout(passager);
	assert "enleverUnAssis" == j.messages.get(2) : "enleverUnAssis";
    }
    
    @Test
     void testDemanderPlaceAssise()  throws TecInvalidException, java.io.IOException{
	ModeEcritureLog e= new SortieFichier(); 
	FauxJournal j = new FauxJournal(e);
	JournalBus b = new JournalBus(1,1,j );
	FauxPassager passager = new FauxPassager();
	passager.etat = passager.DEHORS;
	b.demanderPlaceAssise(passager);
	assert "ajouterUnAssis" == j.messages.get(2) : "ajouterUnAssis";
    }
	
    @Test
     void testDemanderPlaceDebout()  throws TecInvalidException, java.io.IOException{

	ModeEcritureLog e= new SortieFichier(); 
	FauxJournal j = new FauxJournal(e);
	JournalBus b = new JournalBus(5,4,j );
	FauxPassager passager = new FauxPassager();
	passager.etat = passager.DEHORS;
	b.demanderPlaceDebout(passager);
	assert "ajouterUnDebout" == j.messages.get(2) : "ajouterUnDebout";
    }
	
    @Test
     void testDemanderSortie()  throws TecInvalidException, java.io.IOException{
	ModeEcritureLog e= new SortieFichier(); 
	FauxJournal j = new FauxJournal(e);
	JournalBus b = new JournalBus(5,5,j);
	FauxPassager passager = new FauxPassager();
	passager.etat = passager.DEBOUT;
	b.demanderPlaceDebout(passager);
	b.demanderSortie(passager);
	assert "enleverUnPassager" == j.messages.get(3) : "enleverUnPassager";
    }
	
    @Test
     void testAllerArretSuivant()  throws TecInvalidException, java.io.IOException{    
	ModeEcritureLog e= new SortieFichier(); 
	FauxJournal j = new FauxJournal(e);
	JournalBus b = new JournalBus(8,8,j);
	b.allerArretSuivant();
	assert "changerArret" == j.messages.get(2) : "changerArret";
    }  
}